前言

我们知道爬虫爬取内容前要先获得数据进行分析, 也就是所谓的抓包. 如果我们爬取某个手机app也需要抓包. 今天我们来解决手机app在电脑抓包的问题.

正文

原理解析

我们手机的app会向远程服务器请求数据, 然后填充到我们的手机app里面, 这也就是为什么手机app每天会有不同的内容, 这些内容就是app实时去远程服务器请求的数据.

这些数据传输的协议基本上是使用http或者https, 格式一般都是json格式. 也就是说和我们电脑打开的网站使用的传输协议一致, 数据格式一致. 这时候我们就可以把app当作是网页端的一个网站.

很多人抓取网站数据时, 会使用大名鼎鼎的fiddler软件. 而我们也是利用这个软件进行抓包.

下图就是整个流程, 说白了就是让手机app被我们的电脑代理, 让数据先经过电脑再流转到服务器. 这样我们就能在电脑上抓包手机app的数据. 前提是电脑手机必须在同一个wifi下面

20201212200236-2021-12-30-09-19-16

设置fiddler

20201212200913-2021-12-30-09-19-29 20201212200949-2021-12-30-09-19-42 20201212201017-2021-12-30-09-19-53

找到电脑的ip地址

20201212201257-2021-12-30-09-20-06 20201212201332-2021-12-30-09-20-18 20201212201409-2021-12-30-09-20-31

设置手机

也是就给我们的手机设置一个代理, 让手机访问代理, 这个代理ip就是我们的电脑ip(192.168.31.45), 代理的端口就是fiddler监听的端口(8889)

20201212201716-2021-12-30-09-20-43 20201212201758-2021-12-30-09-20-55 20201212201853-2021-12-30-09-21-09

下载证书

完成上面的步骤后, 我们在手机浏览器访问 <电脑ip>:<fiddler端口> 就会弹出一个需要下载证书的页面 20201212202102-2021-12-30-09-21-23

下载完成后, 手机的所有请求都会流经电脑, 然后发给服务器. 这样我们就完成了抓包的工作.

疑问: 为什么需要在手机下载一个fiddler的证书? 答: 因为现在大部分都是使用https协议, 也就是说有个ssl加密的过程. fiddler如果想抓取数据, 那么它必须能解密ssl. 所以让手机app使用fiddler的安全证书, 这样fiddler就能监控手机app数据. 对于远程服务器来说, fiddler把自己伪装成一个客户端, 使用从手机app获取的数据与远程服务器通信.

还原手机状态

抓包结束后, 需要手动还原手机状态, 方法如下:

  1. 把手动代理给去掉.

总结

经过以上几步, 我们就可以使用电脑抓包手机的所有app数据, 有利于我们编写爬虫. 总的来说就是把我们电脑当成了代理, 让数据先经过代理再去访问远程服务器.

THE END
推荐文章
  • Electron基本介绍

  • configuration.module has an unknown property 'loaders'

  • 把git的默认分支master修改成main

  • git的分支操作

  • 黄帝内经-第40篇-腹中论篇(1)

  • 查看ubuntu(linux)内网IP地址

  • 如何批量删除Docker中已停止的容器

  • 黄帝内经-四季调神论

评论 共0条
开启精彩搜索

热门搜索

暂无

历史搜索

用户名/邮箱/手机号
密码
用户名
密码
重复密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
注册
找回密码
邮箱/手机号
验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

0字

0字

2024年10月

0字

新增

0字

新增

0字

0字

新增

0字

0字

新增

0字

0字

新增

0字

0字

新增

0字

0字

新增

0字

0字

新增

0字

0字

0字

新增

0字

0字

0字

0字

新增

0字

0字